概述

golang 在1.8版本中,引入plugin 包,用来载动态链接库,以支持插件。

目前,该包只能在linux 下使用。

引入插件

p, err := plugin.Open("plugin_name.so")
if err != nil {
	panic(err)
}
f, err := p.Lookup("F")
if err != nil {
	panic(err)
}
f.(func())() // prints "Hello World"

插件编写

package main
import "fmt"

func F() { fmt.Println("Hello world") }

插件编译

go build -buildmode=plugin
humboldt Written by:

humboldt 的趣味程序园